home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / dev / libhtml_.tar / hypertext / HTML.txt < prev    next >
Text File  |  1993-01-21  |  26KB  |  514 lines

  1.  
  2.                                                            PUBLIC DRAFT -- HTML
  3.                            HYPERTEXT MARKUP LANGUAGE
  4.                                        
  5.                A REPRESENTATION FOR NODES IN THE WORLD WIDE WEB
  6.                                        
  7.                                       Daniel W. Connolly, Convex Computer Corp.
  8.                                                                                
  9.                                                                   January, 1993
  10.                                                                                
  11. Status of this Document
  12.  
  13.    Distribution of this document is unlimited. Please send comments to Dan
  14.    Connolly <connolly@convex.com>.
  15.    
  16. Abstract
  17.  
  18.    The World Wide Web project involves the processing of structured documents
  19.    by diverse systems around the globe. Existing document representations
  20.    geared towards typesetting, information retrieval, or multimedia are too
  21.    tightly coupled to a hardware system, authoring environment, publication
  22.    style, or field of study.
  23.    
  24.    HyperText Markup Language was created to fill the need to
  25.    
  26.       Represent existing bodies of information
  27.       
  28.       Connect information entities with hypertext links
  29.       
  30.       Scale to a world-wide scope
  31.       
  32.       Fit into existing and evolving user interface paradigms
  33.       
  34.       Provide an experimental platform for collaborative hypermedia
  35.       
  36. Contents
  37.  
  38.   Introduction           2
  39.                          
  40.   Structured Text        3
  41.                          
  42.   Tags                   3
  43.                          
  44.   Element Types          4
  45.                          
  46.   Comments and Other Markup
  47.                          6
  48.                          
  49.   Line Breaks            7
  50.                          
  51.   Summary of Markup Signals
  52.                          7
  53.                          
  54.   HTML semantics @@
  55.                          
  56.   Rationale @@
  57.                          
  58.   References             9
  59.                          
  60.   HTML DTD               10
  61.                          
  62.   
  63.  
  64.                                                            PUBLIC DRAFT -- HTML
  65.                                  INTRODUCTION
  66.                                        
  67.    The HyperText Markup Language is defined in terms of the ISO Standard
  68.    Generalized Markup Language []. SGML is a system for defining structured
  69.    document types and markup languages to represent instances of those document
  70.    types.
  71.    
  72.    Every SGML document has three parts:
  73.    
  74.       An SGML declaration, which binds SGML processing quantities and syntax
  75.       token names to specific values. For example, the SGML declaration in the
  76.       HTML DTD specifies that the string that opens a tag is </ and the
  77.       maximum length of a name is 40 characters.
  78.       
  79.       A prologue including one or more document type declarations, which
  80.       specifiy the element types, element relationships and attributes, and
  81.       references that can be represented by markup. The HTML DTD specifies, for
  82.       example, that the HEAD element contains at most one TITLE element.
  83.       
  84.       An instance, which contains the data and markup of the document.
  85.       
  86.    We use the term HTML to mean both the document type and the markup language
  87.    for representing instances of that document type.
  88.    
  89.    All HTML documents share the same SGML declaration an prologue. Hence
  90.    implementations of the WorldWide Web generally only transmit and store the
  91.    instance part of an HTML document. To construct an SGML document entity for
  92.    processing by an SGML parser, it is necessary to prefix the text from ``HTML
  93.    DTD'' on page 10 to the HTML instance.
  94.    
  95.    Conversely, to implement an HTML parser, one need only implement those parts
  96.    of an SGML parser that are needed to parse an instance after parsing the
  97.    HTML DTD.
  98.    
  99.    
  100.  
  101.                                                            PUBLIC DRAFT -- HTML
  102.                                 STRUCTURED TEXT
  103.                                        
  104.    An HTML instance is like a text file, except that some of the characters are
  105.    interpreted as markup. The markup gives structure to the document.
  106.    
  107.    The instance represents a hierarchy of elements. Each element has a name ,
  108.    some attributes , and some content. Most elements are represented in the
  109.    document as a start tag, which gives the name and attributes, followed by
  110.    the content, followed by the end tag. For example:
  111.    
  112.    <HTML>  <TITLE>   A sample HTML instance  </TITLE>
  113.    <H1>   An Example of Structure  </H1>  Here's a typical
  114.    paragraph.  <P>  <UL>   <LI>   Item one has an
  115.    <A NAME="anchor">    anchor   </A>   <LI>   Here's
  116.    item two.  </UL> </HTML> Some elements (e.g. P, LI) are
  117.    empty. They have no content. They show up as just a start tag.
  118.    
  119.    For the rest of the elements, the content is a sequence of data characters
  120.    and nested elements.
  121.    
  122. Tags
  123.  
  124.    Every element starts with a tag, and every non-empty element ends with a
  125.    tag. Start tags are delimited by < and >, and end tags are delimited
  126.    by </ and >.
  127.    
  128.   NAMES
  129.   
  130.    The element name immediately follows the tag open delimiter. Names consist
  131.    of a letter followed by up to 33 letters, digits, periods, or hyphens. Names
  132.    are not case sensitive.
  133.    
  134.   ATTRIBUTES
  135.   
  136.    In a start tag, whitespace and attributes are allowed between the element
  137.    name and the closing delimiter. An attribute consists of a name, an equal
  138.    sign, and a value. Whitespace is allowed around the equal sign.
  139.    
  140.    The value is specified in a string surrounded by single quotes or a string
  141.    surrounded by double quotes. (See: other tolerated forms @@)
  142.    
  143.    The string is parsed like RCDATA (see below ) to determine the attribute
  144.    value. This allows, for example, quote characters in attribute values to be
  145.    represented by character references.
  146.    
  147.    The length of an attribute value (after parsing) is limited to 1024
  148.    characters.
  149.    
  150. Element Types
  151.  
  152.    The name of a tag refers to an element type declaration in the HTML DTD. An
  153.    element type declaration associates an element name with
  154.    
  155.       A list of attributes and their types and statuses
  156.       
  157.       A content type (one of EMPTY, CDATA, RCDATA, ELEMENT, or MIXED) which
  158.       determines the syntax of the element's content
  159.       
  160.       A content model, which specifies the pattern of nested elements and data
  161.       
  162.   EMPTY ELEMENTS
  163.   
  164.    Empty elements have the keyword EMPTY in their declaration. For example:
  165.    
  166.    <!ELEMENT NEXTID - O EMPTY> <!ATTLIST NEXTID N NUMBER
  167.    #REQUIRED> This means that the follwing:
  168.    
  169.    <nextid n=''27''> is legal, but these others are not:
  170.    
  171.    <nextid> <nextid n=''abc''>
  172.    
  173.   CHARACTER DATA
  174.   
  175.    The keyword CDATA indicates that the content of an element is character
  176.    data. Character data is all the text up to the next end tag open
  177.    delimter-in-context. For example:
  178.    
  179.    <!ELEMENT XMP - - CDATA> specifies that the following text is a
  180.    legal XMP element:
  181.    
  182.    <xmp>Here's a title. It looks like it has <tags> and <!--comments--> in it,
  183.    but it does not. Even this </ is data.</xmp> The string </
  184.    is only recognized as the opening delimiter of an end tag when it is ``in
  185.    context,'' that is, when it is followed by a letter. However, as soon as the
  186.    end tag open delimiter is recognized, it terminates the CDATA content. The
  187.    following is an error:
  188.    
  189.    <xmp>There is no way to represent </end> tags in CDATA
  190.    </xmp>
  191.    
  192.   REPLACEABLE CHARACTER DATA
  193.   
  194.    Elements with RCDATA content behave much like thos with CDATA, except for
  195.    character references and entity references. Elements declared like:
  196.    
  197.    <!ELEMENT TITLE - - RCDATA> can have any sequence of characters in
  198.    their content.
  199.    
  200.     Character References
  201.     
  202.    To represent a character that would otherwise be recognized as markup, use a
  203.    character referece. The string &# signals a character reference when it
  204.    is followed by a letter or a digit. The delimiter is followed by the decimal
  205.    character number and a semicolon. For example:
  206.    
  207.    <title>You can even represent &#60;/end> tags in RCDATA
  208.    </title>
  209.    
  210.     Entity References
  211.     
  212.    The HTML DTD declares entities for the less than, greater than, and
  213.    ampersand characters and each of the ISO Latin 1 characters so that you can
  214.    reference them by name rather than by number.
  215.    
  216.    The string & signals an entity reference when it is followed by a letter
  217.    or a digit. The delimiter is followed by the entity name and a semicolon.
  218.    For example:
  219.    
  220.    Kurt G&ouml;del was a famous logician and mathemetician.
  221.    
  222.   Note:                  To be sure that a string of characters has no markup,
  223.                          HTML writers should represent all occurences of <,
  224.                          >, and & by character or entity references.
  225.                          
  226.   ELEMENT CONTENT
  227.   
  228.    Some elements have, in stead of a keyword that states the type of content, a
  229.    content model, which tells what patterns of data and nested elements are
  230.    allowed. If the content model of an element does not include the symbol
  231.    #PCDATA , the content is element content.
  232.    
  233.    Whitespace in element content is considered markup and ignored. Any
  234.    characters that are not markup, that is, data characters, are illegal.
  235.    
  236.    For example:
  237.    
  238.    <!ELEMENT HEAD - - (TITLE? & ISINDEX? & NEXTID? &
  239.    LINK*)> declares an element that may be used as follows:
  240.    
  241.    <head>  <isindex>  <title>Head
  242.    Example</title> </head> But the following are illegal:
  243.    
  244.    <head> no data allowed! </head>
  245.    <head><isindex><title>Two isindex
  246.    tags</title><isindex></head>
  247.    
  248.   MIXED CONTENT
  249.   
  250.    If the content model includes the symbol #PCDATA, the content of the element
  251.    is parsed as mixed content. For example:
  252.    
  253.    <!ELEMENT PRE - - (#PCDATA | A | B | I | U | P)+> <!ATTLIST PRE
  254.    WIDTH NUMBER #implied        > This says that the PRE element contains
  255.    one or more A, B, I, U, or P elements or data characters. Here's an example
  256.    of a PRE element:
  257.    
  258.    <pre> <b>NAME</b>     cat -- concatenate<a
  259.    href=''terms.html#file''>files</a> <b>EXAMPLE</b>     cat
  260.    &#60;xyz </pre> The content of the above PRE element is:
  261.    
  262.       A B element
  263.       
  264.       The string ``   cat -- concatenate''
  265.       
  266.       An A element
  267.       
  268.       The string ``\n''
  269.       
  270.       Another B element
  271.       
  272.       The string ``\n   cat <xyz''
  273.       
  274. Comments and Other Markup
  275.  
  276.    To include comments in an HTML document that will be ignored by the parser,
  277.    surround them with <!-- and -->. After the comment delimiter, all
  278.    text up to the next occurence of -- is ignored. Hence comments cannot be
  279.    nested. Whitespace is allowed between the closing -- and >. (But not
  280.    between the opening <! and --.)
  281.    
  282.    For example:
  283.    
  284.    <HEAD> <TITLE>HTML Guide: Recommended Usage</TITLE>
  285.    <!-- $Id: recommended.html,v 1.3 93/01/06 18:38:11 connolly Exp $
  286.    --> </HEAD>   There are a few other SGML markup constructs that
  287.    are deprecated or illegal.
  288.    
  289.   Delimiter              Signals...
  290.                          
  291.   <?                 Processing instruction. Terminated by >.
  292.                          
  293.   <![L               Marked section. Marked sections are deprecated. See
  294.                          the SGML standard for complete information.
  295.                          
  296.   <!L                Markup declaration. HTML defines no short reference
  297.                          maps, so these are errors. Terminated by >.
  298.                          
  299. Line Breaks
  300.  
  301.    A line break character is considered markup (and ignored) if it is the first
  302.    or last piece of content in an element. This allows you to write either
  303.    
  304.    <PRE>some example text</pre> or
  305.    
  306.    <pre> some example text </pre> and these will be processed
  307.    identically.
  308.    
  309.    Also, a line that's not empty but contains no content will be ignored
  310.    altogether. For example, the element
  311.    
  312.    <pre> <!-- this line is ignored, including the linebreak
  313.    character --> first line   third line<!-- the following linebreak is
  314.    content: --> fourth line<!-- this one's ignored cuz it's the last piece
  315.    of content: --> </pre> contains only the string first line\n\nthird
  316.    line\nfourth line.
  317.    
  318. Summary of Markup Signals
  319.  
  320.    The following delimiters may signal markup, depending on context.
  321.    
  322.   Delimiter              Signals
  323.                          
  324.   <!--               Comment
  325.                          
  326.   &#                 Character reference
  327.                          
  328.   &                  Entity reference
  329.                          
  330.   </                 End tag
  331.                          
  332.   <!                 Markup declaration
  333.                          
  334.   ]]>                Marked section close (an error)
  335.                          
  336.   <                  Start tag
  337.                          
  338.   
  339.  
  340.                                                            PUBLIC DRAFT -- HTML
  341.                                   REFERENCES
  342.                                        
  343.                          ISO 8879:1986, Information ProcessingText and Office
  344.                          SystemsStandard Generalized Markup Language (SGML)
  345.                          
  346.   sgmls                  an SGML parser by James Clark <jjc@jclark.com>
  347.                          derived from the ARCSGML parser materials  which were
  348.                          written by Charles F. Goldfarb. The source is
  349.                          available on the ifi.uio.no FTP server in the
  350.                          directory /pub/SGML/SGMLS .
  351.                          
  352.   WWW
  353.                          
  354.   URL
  355.                          
  356.   
  357.  
  358.                                                            PUBLIC DRAFT -- HTML
  359.    <!SGML  "ISO 8879:1986" --
  360.    
  361.                                    HTML DTD
  362.                                        
  363.    Document Type Definition for the HyperText Markup Language          as used
  364.    by the World Wide Web application (HTML DTD).         NOTE: This is a
  365.    definition of HTML with respect to         SGML, and assumes an understaning
  366.    of SGML terms.         For a description of HTML in layman's terms, see
  367.       "HTML: A Representation for Nodes in the World Wide Web"
  368.    by Dan Connolly.         aka
  369.    http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html                 by
  370.    <connolly@convex.com> -- CHARSET          BASESET  "ISO
  371.    646:1983//CHARSET                    International Reference Version
  372.    (IRV)//ESC 2/5 4/0"          DESCSET  0   9   UNUSED                   9   2
  373.      9                   11  2   UNUSED                   13  1   13
  374.           14  18  UNUSED                   32  95  32                   127 1
  375.    UNUSED      BASESET   "ISO Registration Number 100//CHARSET
  376.    ECMA-94 Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1"      DESCSET   128
  377.    32 UNUSED                160 95 32                255  1 UNUSED CAPACITY
  378.       SGMLREF                 TOTALCAP        150000                 GRPCAP
  379.         150000    SCOPE    DOCUMENT SYNTAX             SHUNCHAR CONTROLS 0 1 2
  380.    3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18                            19 20 21
  381.    22 23 24 25 26 27 28 29 30 31 127 255          BASESET  "ISO
  382.    646:1983//CHARSET                    International Reference Version
  383.    (IRV)//ESC 2/5 4/0"          DESCSET  0 128 0          FUNCTION RE
  384.    13                   RS          10                   SPACE       32
  385.              TAB SEPCHAR  9          NAMING   LCNMSTRT ""
  386.    UCNMSTRT ""                   LCNMCHAR ".-"                   UCNMCHAR ".-"
  387.                     NAMECASE GENERAL YES                            ENTITY  NO
  388.            DELIM    GENERAL  SGMLREF                   SHORTREF SGMLREF
  389.     NAMES    SGMLREF          QUANTITY SGMLREF                   NAMELEN  34
  390.                   TAGLVL   100                   LITLEN   1024
  391.     GRPGTCNT 150                   GRPCNT   64                    FEATURES
  392.    MINIMIZE     DATATAG  NO     OMITTAG  NO     RANK     NO     SHORTTAG NO
  393.    LINK     SIMPLE   NO     IMPLICIT NO     EXPLICIT NO   OTHER     CONCUR   NO
  394.        SUBDOC   NO     FORMAL   YES   APPINFO    NONE > <!DOCTYPE HTML
  395.    [ <!--  $Id: html.dtd,v 1.4 93/01/20 20:56:08 connolly Exp $ -->
  396.    <!--    Regarding clause 6.1, SGML Document:         [1] SGML document =
  397.    SGML document entity,             (SGML subdocument entity |
  398.    SGML text entity | non-SGML data entity)*         The role of SGML document
  399.    entity is filled by this DTD,         followed by the conventional HTML data
  400.    stream. --> <!-- DTD definitions --> <!ENTITY % heading
  401.    "H1|H2|H3|H4|H5|H6" > <!ENTITY % list "UL|OL|DIR|MENU">
  402.    <!ENTITY % literal "XMP|LISTING"> <!ENTITY % headelement
  403.     "TITLE | NEXTID | ISINDEX" > <!ENTITY % bodyelement          "P |
  404.    %heading |          %list | DL | HEADERS | ADDRESS | PRE | BLOCKQUOTE
  405.     | %literal"> <!ENTITY % oldstyle "%headelement | %bodyelement |
  406.    #PCDATA"> <!ENTITY % URL "CDATA"         -- The term URL means a
  407.    CDATA attribute            whose value is a Universal Resource Locator,
  408.          as defined in ftp://info.cern.ch/pub/www/doc/url3.txt         -->
  409.    <!ENTITY % linkattributes         "NAME NMTOKEN #IMPLIED         HREF
  410.    %URL; #IMPLIED         TYPE NAME #IMPLIED -- type of relashionship to
  411.    referent data:                                 PARENT CHILD, SIBLING, NEXT,
  412.    TOP,                                  DEFINITION, UPDATE, ORIGINAL etc. --
  413.          URN CDATA #IMPLIED -- universal resource number. unique doc id --
  414.       TITLE CDATA #IMPLIED -- advisory only --         METHODS NAMES #IMPLIED
  415.    -- supported methods of the object:
  416.    TEXTSEARCH, GET, HEAD, ... --         "> <!-- Document Element
  417.    --> <!ELEMENT HTML O O  ((HEAD | BODY | %oldstyle)*,
  418.    PLAINTEXT?)> <!ELEMENT HEAD - -  (TITLE? & ISINDEX? &
  419.    NEXTID? & LINK*)> <!ELEMENT TITLE - -  RCDATA           -- The
  420.    TITLE element is not considered part of the flow of text.              It
  421.    should be displayed, for example as the page header or              window
  422.    title.           --> <!ELEMENT ISINDEX - O EMPTY           -- WWW
  423.    clients should offer the option to perform a search on
  424.    documents containing ISINDEX.           -->   <!ELEMENT NEXTID - O
  425.    EMPTY> <!ATTLIST NEXTID N NUMBER #REQUIRED           -- The number
  426.    should be the highest number that appears in              any NAME attribute
  427.    in the document.           --> <!ELEMENT LINK - O EMPTY>
  428.    <!ATTLIST LINK         %linkattributes>          <!ENTITY %
  429.    inline "EM | TT | STRONG | B | I | U |                         CODE | SAMP |
  430.    KBD | KEY | VAR | DFN | CITE "         > <!ELEMENT (%inline;) - -
  431.    (#PCDATA)> <!ENTITY % hypertext "#PCDATA | %inline; | A">
  432.    <!ELEMENT BODY - -  (%bodyelement|%hypertext;)*> <!ELEMENT A
  433.    - -  (#PCDATA)> <!ATTLIST A         %linkattributes;         >
  434.    <!ELEMENT P     - O EMPTY -- separates paragraphs --> <!ELEMENT
  435.    (%heading)    - -  (%hypertext;)+> <!ELEMENT DL    - -  (DT | DD | P
  436.    | %hypertext;)*> <!--    Content should match
  437.    ((DT,(%hypertext;)+)+,(DD,(%hypertext;)+))         But mixed content is
  438.    messy.   --> <!ATTLIST DL         STYLE NAME #IMPLIED -- COMPACT,
  439.    etc.--         >   <!ELEMENT DT    - O EMPTY> <!ELEMENT DD
  440.     - O EMPTY> <!ELEMENT (UL|OL) - -  (%hypertext;|LI|P)+>
  441.    <!ELEMENT (DIR|MENU) - -  (%hypertext;|LI)+> <!--    Content
  442.    should match ((LI,(%hypertext;)+)+)         But mixed content is messy.
  443.    --> <!ELEMENT LI    - O EMPTY> <!ELEMENT BLOCKQUOTE - -
  444.    (%hypertext;|P)+         -- for quoting some other source -->
  445.    <!ATTLIST BLOCKQUOTE         SOURCE CDATA #IMPLIED -- URL of source --
  446.          > <!ELEMENT ADDRESS - - (%hypertext;|P)+> <!ELEMENT
  447.    PRE - - (#PCDATA | A | B | I | U | P)+> <!ATTLIST PRE         WIDTH
  448.    NUMBER #implied         > <!-- Mnemonic character entities. -->
  449.    <!ENTITY AElig "&#198;" -- capital AE diphthong (ligature) -->
  450.    <!ENTITY Aacute "&#193;" -- capital A, acute accent -->
  451.    <!ENTITY Acirc "&#194;" -- capital A, circumflex accent -->
  452.    <!ENTITY Agrave "&#192;" -- capital A, grave accent -->
  453.    <!ENTITY Aring "&#197;" -- capital A, ring --> <!ENTITY
  454.    Atilde "&#195;" -- capital A, tilde --> <!ENTITY Auml
  455.    "&#196;" -- capital A, dieresis or umlaut mark --> <!ENTITY
  456.    Ccedil "&#199;" -- capital C, cedilla --> <!ENTITY ETH
  457.    "&#208;" -- capital Eth, Icelandic --> <!ENTITY Eacute
  458.    "&#201;" -- capital E, acute accent --> <!ENTITY Ecirc
  459.    "&#202;" -- capital E, circumflex accent --> <!ENTITY Egrave
  460.    "&#200;" -- capital E, grave accent --> <!ENTITY Euml
  461.    "&#203;" -- capital E, dieresis or umlaut mark --> <!ENTITY
  462.    Iacute "&#205;" -- capital I, acute accent --> <!ENTITY Icirc
  463.    "&#206;" -- capital I, circumflex accent --> <!ENTITY Igrave
  464.    "&#204;" -- capital I, grave accent --> <!ENTITY Iuml
  465.    "&#207;" -- capital I, dieresis or umlaut mark --> <!ENTITY
  466.    Ntilde "&#209;" -- capital N, tilde --> <!ENTITY Oacute
  467.    "&#211;" -- capital O, acute accent --> <!ENTITY Ocirc
  468.    "&#212;" -- capital O, circumflex accent --> <!ENTITY Ograve
  469.    "&#210;" -- capital O, grave accent --> <!ENTITY Oslash
  470.    "&#216;" -- capital O, slash --> <!ENTITY Otilde "&#213;" --
  471.    capital O, tilde --> <!ENTITY Ouml "&#214;" -- capital O,
  472.    dieresis or umlaut mark --> <!ENTITY THORN "&#222;" -- capital
  473.    THORN, Icelandic --> <!ENTITY Uacute "&#218;" -- capital U,
  474.    acute accent --> <!ENTITY Ucirc "&#219;" -- capital U,
  475.    circumflex accent --> <!ENTITY Ugrave "&#217;" -- capital U,
  476.    grave accent --> <!ENTITY Uuml "&#220;" -- capital U, dieresis
  477.    or umlaut mark --> <!ENTITY Yacute "&#221;" -- capital Y, acute
  478.    accent --> <!ENTITY aacute "&#225;" -- small a, acute accent
  479.    --> <!ENTITY acirc "&#226;" -- small a, circumflex accent
  480.    --> <!ENTITY aelig "&#230;" -- small ae diphthong (ligature)
  481.    --> <!ENTITY agrave "&#224;" -- small a, grave accent -->
  482.    <!ENTITY amp "&#38;" -- ampersand --> <!ENTITY aring
  483.    "&#229;" -- small a, ring --> <!ENTITY atilde "&#227;" --
  484.    small a, tilde --> <!ENTITY auml "&#228;" -- small a, dieresis
  485.    or umlaut mark --> <!ENTITY ccedil "&#231;" -- small c, cedilla
  486.    --> <!ENTITY eacute "&#233;" -- small e, acute accent -->
  487.    <!ENTITY ecirc "&#234;" -- small e, circumflex accent -->
  488.    <!ENTITY egrave "&#232;" -- small e, grave accent -->
  489.    <!ENTITY eth "&#240;" -- small eth, Icelandic --> <!ENTITY
  490.    euml "&#235;" -- small e, dieresis or umlaut mark --> <!ENTITY
  491.    gt "&#62;" -- greater than --> <!ENTITY iacute "&#237;" --
  492.    small i, acute accent --> <!ENTITY icirc "&#238;" -- small i,
  493.    circumflex accent --> <!ENTITY igrave "&#236;" -- small i, grave
  494.    accent --> <!ENTITY iuml "&#239;" -- small i, dieresis or umlaut
  495.    mark --> <!ENTITY lt "&#60;" -- less than --> <!ENTITY
  496.    ntilde "&#241;" -- small n, tilde --> <!ENTITY oacute
  497.    "&#243;" -- small o, acute accent --> <!ENTITY ocirc
  498.    "&#244;" -- small o, circumflex accent --> <!ENTITY ograve
  499.    "&#242;" -- small o, grave accent --> <!ENTITY oslash
  500.    "&#248;" -- small o, slash --> <!ENTITY otilde "&#245;" --
  501.    small o, tilde --> <!ENTITY ouml "&#246;" -- small o, dieresis
  502.    or umlaut mark --> <!ENTITY szlig "&#223;" -- small sharp s,
  503.    German (sz ligature) --> <!ENTITY thorn "&#254;" -- small thorn,
  504.    Icelandic --> <!ENTITY uacute "&#250;" -- small u, acute accent
  505.    --> <!ENTITY ucirc "&#251;" -- small u, circumflex accent
  506.    --> <!ENTITY ugrave "&#249;" -- small u, grave accent -->
  507.    <!ENTITY uuml "&#252;" -- small u, dieresis or umlaut mark -->
  508.    <!ENTITY yacute "&#253;" -- small y, acute accent -->
  509.    <!ENTITY yuml "&#255;" -- small y, dieresis or umlaut mark -->
  510.    <!-- deprecated elements --> <!ELEMENT (%literal) - -
  511.    CDATA> <!ELEMENT PLAINTEXT - O EMPTY> <!-- Local Variables:
  512.    --> <!-- mode: sgml --> <!-- compile-command: "sgmls -s -p "
  513.    --> <!-- end: --> ]>
  514.